Persistent memory (PM) includes main memory that is implemented using non-volatile memory (NVM) technologies. NVM technologies typically include computer memory that has the ability to retain stored information even when not powered. Examples of PM include flash memory which is electrically erasable and reprogrammable, resistive random-access memory (RRAM), phase-change random access memory (PCRAM), and memristor based memory.
Atomicity is a property of a set of updates (e.g., a transaction), for example, between an application and a memory, which are guaranteed to either completely occur, or have no effect. In other words, in an atomic transaction, a series of operations either all occur, or nothing occurs. Therefore, a guarantee of atomicity prevents partial occurrence of updates, for example, to a memory. Further, a consistency point (CP) is a process of storing a number of complete atomic transactions to a stable media, such as a PM. Upon completion of the storage process, a system is considered to reach a CP.